ArcGIS Pro处理发布并在前端调用bim数据全过程

您所在的位置:网站首页 arcgis pro和arcgis有什么区别 ArcGIS Pro处理发布并在前端调用bim数据全过程

ArcGIS Pro处理发布并在前端调用bim数据全过程

2023-04-01 19:46| 来源: 网络整理| 查看: 265

记录ArcGIS处理三维bim模型全纪录,从原始的rvt格式开始,到最后web前端js api调用的整个过程,并记录部分中间操作过程中出现的问题和解决办法。

本文示例使用:

软件:ArcGIS Pro3.0.1(破解版),

GeoScene Portal2.1

ArcGIS Maps SDK for JavaScript 4.23(原ArcGIS JS API)

bim数据格式:rvt

注: ArcGIS Pro/Portal和GeoScene Pro/Portal实际上是相同的东西,他们之间的操作是互通的; ArcGIS Maps SDK for JavaScript在示例中用的是4.23版本,建议尽量使用越新的版本; ArcGIS Pro 3.0 只支持将来自工业基础类 (IFC) 格式化文件和 Autodesk Revit (RVT) 的 BIM 设计文件; ArcGIS Pro3.0 支持 Revit 文件版本 2016–2022,若版本较低可以先升级,或使用Pro右键rvt格式数据,更新为最新版本。参考:https://pro.arcgis.com/zh-cn/pro-app/latest/help/data/revit/what-is-bim-data-.htm

本文操作流程:

1、将bim数据加载到ArcGIS Pro,进行地理配准,并调整bim数据的位置和旋转等。

2、使用BIM File To Geodatabase(BIM 文件至地理数据库)将rvt格式先转到地理数据库

3、使用Make Building Layer(创建建筑图层),将bim数据加载到地图

4、使用Create Building Scene Layer Content(创建建筑场景图层包)选择第2步在图层树上生成的bim数据转换成slpk格式

5、使用Share Package(共享包),将slpk发布成rest服务

6、使用ArcGIS Maps SDK for JavaScript的BuildingSceneLayer加载数据并在浏览器端展示

 详细操作步骤:

1、将bim数据加载到ArcGIS Pro,进行地理配准,并调整bim数据的位置和旋转等

ArcGIS Pro可以直接打开rvt格式添加到场景中查看bim数据(需要先新建局部场景,然后通过Catalog中添加或者通过Map下Add Data的Data添加rvt数据)

添加后会显示两个图层分组,一个与文件同名,一个在文件名后添加后缀_Floorplan:

通常rvt格式数据加载到arcgis pro中并没有坐标系,在加载的过程中会提示:

此时就需要进行地理配准,移动到指定位置。

先使用 Map菜单下的GO TO XY,确定bim数据要移动到的位置:

输入经纬度,点击手型图标Pan To Location,将视图移动到指定位置

然后选择一个图层(要选到具体图层,可以随便选择一个,不能选择图层组),然后在BIM Data菜单下,选择Georeference(地理配准):

如果bim数据没有坐标系(没有配准过),则会弹出一个提示,点击确定,会将当前地图的坐标作为bim数据的坐标系:

此时会生成一个bim数据同名的.prj格式数据:

同时会打开一个Georeference(地理配准)菜单,选择菜单下的Move to display(移至显示),会将指定图层移动到指定位置,另外可通过Move、Scale、Rotate进行微调

调整完后点击Save(保存)按钮,这是会生成另外一个与bim数据同名的.wld3格式数据

注:CAD 和 BIM 文件需要具有有效的 Esri 坐标系 (.prj),并且可能需要可选的坐标变换信息文件 (.wld),以确定应在地球表面上定位 CAD 或 BIM 数据中的坐标的方式。 参考:https://pro.arcgis.com/zh-cn/pro-app/latest/help/data/revit/geospatial-position-of-cad-and-bim-data.htm

选择Close Georeference(关闭地理配准),会发现rvt 所有图层都到新位置了:

只需调整一个图层,其他图层都会跟着变化,此时若还需要对模型位置进行微调,还可以再打开地理配准进行操作,同样只要选中其中一个图层即可。

特别说明:ArcGIS可以直接使用Create Building Scene Layer Content将rvt格式数据转换成slpk(可省去2、3步骤)。

通过下拉选择同名的数据集,设置输出slpk文件的路径和名称,以及坐标系(只有将数据添加到图层上输入数据集才可以使用下拉选择到对应数据):

因所使用的测试数据在使用该方法转换的时候会导致ArcGIS Pro奔溃(以前有直接转过是成功的,不知道是不是此次数据的问题还是软件的问题导致),故本次处理过程是先将rvt数据转到地理数据库再进行转换发布(测试成功)。

实际上如果rvt可以直接转成slpk的话,可以省去2、3步骤。

2、使用BIM File To Geodatabase将rvt格式先转到地理数据库中

输入的bim文件使用rvt格式,选择坐标系后运行,将bim数据存储到地理数据库中:

3、使用Make Building Layer,将bim数据加载到地图上

效果:

如果直接从gdb中拖到地图里,效果比较差,图层比较多,渲染的颜色与原始数据不一致,所以要想在图层树上展示,先通过工具Make Building Layer,将地理数据库中的bim模型放到图层书上 :

4、根据第二步加载到图层树上的bim模型,使用Create Building Scene Layer Content转换成slpk数据:

输入数据集使用下拉选择左侧图层树上的数据,输出为slpk格式,根据实际情况设置坐标系,运行成功后即可生成slpk数据。

5、使用Share Package,对slpk数据进行发布

发布前需要在右上角登录用于发布数据的portal:

然后使用Share Package工具

选择需要发布的slpk数据,注意Publish web layer需要勾上,否则只上传数据包,并没有发布数据,发布成功后,在Portal上有两条记录:

如果在发布的时候没有勾选共享给所有人,则需要在ArcGIS Portal选择Scene Layer,将服务设置成共享,然后可以通过Server访问rest服务(如果没有共享,在Hosted目录下找不到发布好的服务):

  

  注:

对于数据小于1G的slpk数据可以在浏览器将其上传到ArcGIS Portal上,再进行发布,无需使用ArcGIS Pro,当数据量大于1G才使用ArcGIS Pro的Share Package工具上传至ArcGIS Portal并发布。 Create Building Scene Layer Content工具生成的slpk数据,只能发布到10.7.1及以上版本,参考:https://pro.arcgis.com/en/pro-app/latest/help/mapping/layer-properties/building-scene-layer-in-arcgis-pro.htm

在实际测试过程中,因刚开始ArcGIS Pro连的是10.5的Portal,数据在生成slpk后,在向Portal10.5上发布的时候不成功,报 Invalid scene package错误。后面拷贝数据到GeoScene Pro2.1中去发布测试成功。

6、使用ArcGIS Maps SDK for JavaScript(原ArcGIS JS API)的BuildingSceneLayer加载bim服务在前端浏览器展示:

参考示例:https://developers.arcgis.com/javascript/latest/sample-code/building-scene-layer-slice

const buildingLayer = new BuildingSceneLayer({ url: "http://10.0.4.4/tcloud/rest/services/szbuilding2019/SceneServer" }); map.add(buildingLayer); buildingLayer.loadAll() .then(function() { buildingLayer.allSublayers.forEach((layer) => { switch (layer.modelName) { case "FullModel": layer.visible = true; break; case "Overview": layer.visible = false; break; } }); }) .catch(function(error) { console.log("Error: one or more sublayer failed to load"); });

通常在将BuildingSceneLayer添加到WebScene或Map时,只有概览层可见。在示例中,我们希望从头开始查看完整模型。所以我们隐藏概览层并显示完整模型层:

“FullModel”和“Overview”是BuildingSceneLayer的直接子层。如果您想在BuildingSceneLayer的子组中搜索,可以使用BuildingSceneLayer.allSublayers,它是子图层的平面数组。要识别子图层,最好使用BuildingSceneLayer.modelName,因为这是基于I3S 规范的标准名称,无法更改。

注:ArcGIS发布的bim数据分为概览层(OverView)和完整模型(Full Model),  默认情况下使用BuildingSceneLayer加载图层是只加载概览层,要想将全部模型都能展示出来,需要将完整模型更改为可视。

通过ArcGIS Pro中拖入slpk数据,可以查看ArcGIS bim模型数据的组织结构:

处理过程中遇到的问题汇总:

1、直接使用Create Building Scene Layer Content将rvt格式数据转换成slpk,系统闪退

解决方案:先将rvt转如地理数据库中,再进行转换

2、生成的slpk发布到ArcGIS Portal10.5中报错

解决方案:ArcGIS Portal10.5不支持bim类型图层

3、多个rvt格式,在按照本文的操作步骤处理完后,处理第二个rvt数据,在地理配准Move to display时候报无法移动

解决方案:关闭ArcGIS Pro,重新打开,新建局部场景重新按本文步骤操作,可以解决该问题。

本文参考资料:

https://pro.arcgis.com/en/pro-app/latest/help/data/revit/adding-revit-data-to-arcgis-pro.htm

https://www.cnblogs.com/yansc/p/14960126.html

https://blog.csdn.net/gislaozhang/article/details/104613247

ArcGIS Pro处理发布并在前端调用bim数据全过程-rvt转slpk的更多相关文章 ArcGIS Pro 简明教程(1)Pro简介

ArcGIS Pro 简明教程(1)Pro简介 ArcGIS Pro已经发布了相当的一段时间了,截至笔者写这系列文章的时候已经是1.3版本了,已经是相当完善的一个版本,基本上已经完成了原来ArcGIS ...

ArcGIS pro 发布地图服务(一)动态地图服务

1.软件:arcgis pro 2.4  数据:.mxd文档. 2.导入mxd文档. 3.登录portal账号 4.分析—发布 5.在server中的地图服务 JavaScript api 查看 6. ...

如何使用ArcGIS Pro发布自定义打印服务

我们知道可以通过ArcGIS Map来发布自定义打印服务.从ArcGIS Enterprise 10.6.1版本起,打印服务的功能更加完善了,改进点包括: 支持打印矢量切片服务 改进了智能制图和颜色透 ...

使用Arcgis Pro 发布矢量切片

ArcGIS Pro 中的任何地图或底图都可以创建矢量切片,但是有一些局限性和特殊注意事项.为创建矢量切片制作地图的重点是构建一个有效的地图,以快速绘制生成的切片. 软件环境 操作系统:Windows ...

ArcGIS Pro 简明教程(4)工具和模型构建器

ArcGIS Pro 简明教程(4)工具和模型构建器 by 李远祥 工具箱中的工具 ArcGIS Pro 在1.3版本基本上已经继承了ArcMap的所有工具,而且会不断加入一些它自身才有的工具,例如适 ...

ArcGIS Pro 简明教程(3)数据编辑

ArcGIS Pro 简明教程(3)数据编辑 by 李远祥 数据编辑是GIS中最常用的功能之一,ArcGIS Pro在GIS数据编辑上使用习惯有一定的改变,因此,本章可以重点看看一些编辑工具的使用和使 ...

ArcGIS Pro开发Web3D应用(1)——环境搭建与初始实例

1.搭建环境 1.1 ArcGIS Web3D软件环境 ArcGIS Pro 2.0(必须) ArcGIS for Enterprise 10.5.1 (从10.5开始称呼为Enterprise)包括 ...

ArcMap和ArcGIS Pro加载百度地图

前面发布了两篇我用ArcBruTile开发用于ArcMap加载百度地图的插件ArcBruTileBaidu,放在网上后评论和反响还不错,还有两位大学同学通过百度搜索居然搜到我本人!文章和技术介绍也被网 ...

ArcGIS Pro 简明教程(2)基础操作和简单制图

ArcGIS Pro 简明教程(2)基础操作和简单制图 By 李远祥 本章主要介绍ArcGIS Pro如何加载数据并进行简单的地图制作,以基本的操作为主. 上一章节介绍过,ArcGIS Pro是可以直 ...

ArcGIS Pro开发Web3D应用(3)——Server/Portal授权服务开发

1.整体环境搭建完成 WebAdaptor.DataStore.Portal for arcgis.arcgis server.arcgis pro都成功部署安装,不管是同服务器还是不同服务器,最好做 ...

随机推荐 Optional类与使用==判断null有什么区别?使用Optional类有什么优势?

1.使用object==null的例子 2.null带来的问题 3.其他语言中null的处理(替代) 4.Java8的Optional类 4.1 这样做有什么好处呢? 4.2 引入Optional类的 ...

Vue实现组件化的基本思路

Vue.js(以下简称Vue)是时下流行的前端开发库,一般搭配其插件Vue-Router,Vuex一起使用,行业中称为Vue全家桶. Vue使用了MVVM的理念,将表现层(DOM)和数据层进行了分离, ...

主要转引本地的pycharm如何与服务器连接

需求:本地电脑pycharm上编写程序,在服务器端运行代码. 主要参考了这两篇文章: 1. https://blog.csdn.net/qq_43391414/article/details/1205 ...

vs2019 debug 出现: printf is ambiguous

在vs中写c++代码时,莫名其妙出现:printf is ambiguous 的错误. 第一步,有设置std namespace 删除后再输入 using namespace std; 第二步.删除u ...

jmeter之【报错记录】

{ "code": "E0001", "success": false, "description": "Co ...

Python pexpect 库的简单使用

一.Python pexpect 库的使用 在终端中许多命令都有与用户交互的场景,例如切换用户时需要手动输入密码,安装应用有时要输入默认配置等.这对 shell 自动化脚本十分不便.expect 命令 ...

查看mmdetection中模型的配置信息

方法一 可以直接打开mmdetection中的目录查看,/configs目录下都是对应的模型的配置 示例: 可以找到_base_目录下的这四个文件文件查看配置. 方法二 读取配置文件查看 在命令行中输 ...

toLua文件夹结构

写在前面 本文是我对toLua(1.0.8.591版本)文件夹内容理解的记录. 文件夹结构 总览 下图是toLua的Unity工程视图: BaseType 基础类型的Wrap文件,有些是自动生成(即用 ...

C++11的override、default和delete关键字

最近在参与组里的项目时接触了很多以前自己没太了解的C++语法(尤其是C++11以后出现的),今天给大家讲一下C++11新出的override和default关键字. override关键字主要在声明类 ...

Istio思考往前一小步~系列一

思考起源于现实应用需求,随着微服务理念普及,基础设施从单机到容器到Kubernetes,体验过集群的各种好处之后,我们还缺少什么?为什么还要在kubernetes的基础上部署Istio?个人认为Ist ...



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3